Currently, navigation systems provide an instruction notification for navigation by presenting step-by-step directions based on rules programmed into the devices. Some advanced versions of navigation systems provide the user with an additional convenience of rerouting the directions based on traffic information. However, these systems provide very frequent step-by-step directions, which are very disruptive to a user, especially when the user is familiar with the route. Furthermore, these step-by-step directions tend to repeatedly interrupt any other applications running on the device providing the navigation.